package com.meeting.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.meeting.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.meeting.model.dto.user.UserModifyRequest;
import com.meeting.model.dto.user.UserQueryRequest;
import com.meeting.model.dto.user.UserRegisterRequest;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

/**
* @author 25843
* @description 针对表【user(用户表（员工和管理员）)】的数据库操作Service
* @createDate 2025-04-19 12:54:48
*/
public interface UserService extends IService<User> {

    String adminLogin(@NotBlank(message = "请输入用户名") @Size(max = 20, message = "用户名长度最大为20个字符") String username, @NotBlank(message = "请输入密码") String password);

    String employeeLogin(@NotBlank(message = "请输入用户名") @Size(max = 20, message = "用户名长度最大为20个字符") String username, @NotBlank(message = "请输入密码") String password);

    Wrapper<User> getQueryWrapper(UserQueryRequest queryRequest);

    Boolean modifyUserStatus(@Valid UserModifyRequest userModifyRequest);

    Boolean register(UserRegisterRequest userRegisterRequest);
}
